﻿<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link href="v8help://service_book/service_style" type="text/css" rel="stylesheet"></link><meta content="MSHTML 6.00.2900.3492" name="GENERATOR"></meta></head><body>
<p><span style="font-size: 11.19px; font-weight: normal;">Форма предназначена для работы со списком описаний обработчиков обновления загруженным из кода конфигурации информационной базы.</span></p>
<p style="margin-top: 0px; margin-bottom: 5px; margin-left: 20px;"><a href="#70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429123191910">Загрузка описания обработчиков обновления</a></p>
<p style="margin-top: 0px; margin-bottom: 5px; margin-left: 20px;"><a href="#70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429142eb34e6">Редактирование описания обработчиков обновления</a></p>
<p style="margin-top: 0px; margin-bottom: 5px; margin-left: 40px;"><a href="#70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429579012cb8">Описание элементов формы</a></p>
<p style="margin-top: 0px; margin-bottom: 5px; margin-left: 20px;"><a href="#70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea42915e5fa65e">Контроль построения очереди выполнения обработчиков обновления</a></p>
<p style="margin-top: 0px; margin-bottom: 5px; margin-left: 20px;"><a href="#70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea42918708b5f0">Запись изменений описания обработчиков обновления</a></p>
<a name="70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429123191910">
<h3 style="margin-left: 0px;">Загрузка описания обработчиков обновления</h3></a>
<p style="margin-left: 20px;">Описание обработчиков обновление загружается из кода конфигурации текущей базы кнопкой <b>Загрузить описания</b>.<br>Описание загружается средствами БСП из всех модулей обновления встроенных библиотек (процедура <b>ПриДобавленииОбработчиковОбновления</b>).</p>
<a name="70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429142eb34e6">
<h3 style="margin-left: 0px;">Редактирование описания обработчиков обновления</h3></a>
<p style="margin-left: 20px;">Редактирование описания каждого отдельного обработчика производится посредством <a href="DataProcessor.ОписаниеОбработчиковОбновления.Form.ФормаОбработчика/Help">формы обработчика</a>, которая открывается кнопкой <b>Добавить</b> для новых обработчиков или двойным кликом по строке списка существующего обработчика.<br></p>
<a name="70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea429579012cb8">
<h3 style="margin-left: 20px;">Описание элементов формы</h3></a>
<p style="margin-left: 40px;"><b>Сохранять в репозиторий</b> - поле ввода в котором необходимо указать каталог <b>SRC</b> git-репозитория проекта конфигурации выгруженного в формате EDT (реквизит расположен в сворачиваемой группе, которая по умолчанию всегда свернута).</p>
<p style="margin-left: 40px;">
</p><blockquote style="padding: 5px; border: 1px solid rgb(190, 190, 207); border-image: none; background-color: rgb(238, 255, 238);">
<strong>Примечание.</strong> Относительно каталога <b>SRC</b> вычисляется расположение каталога <b>.settings</b> в котором должен располагается файл настроек обработки.
</blockquote>

<p style="margin-left: 40px;"><b>Библиотека</b> - фильтр списка обработчиков по встроенной библиотеке.<br><b>Изменяемый объект</b> - фильтр списка обработчиков по изменяемым объектам - в списке будут отобраны все обработчики содержащие в своей табличной части <b>Изменяемые объекты</b> указанное имя (или часть имени) объекта метаданных.<br><b>Читаемый объект</b> - фильтр списка обработчиков по читаемым объектам - в списке будут отобраны все обработчики содержащие в своей табличной части <b>Читаемые объекты</b> указанное имя  (или часть имени) объекта метаданных.<br><br>Кнопка <b>Добавить</b> - открывает пустую <a href="DataProcessor.ОписаниеОбработчиковОбновления.Form.ФормаОбработчика/Help">форму обработчика</a> для создания нового описания.<br>Кнопка <b>Скопировать</b> - открывает <a href="DataProcessor.ОписаниеОбработчиковОбновления.Form.ФормаОбработчика/Help">форму обработчика</a> и копирует в нее данные текущего обработчика списка.<br>Кнопка <b>Установить номер сборки</b> - запрашивает новый номер сборки конфигурации и устанавливает его выделенным обработчикам списка.<br></p>
<p style="margin-left: 40px;">
</p><blockquote style="padding: 5px; border: 1px solid rgb(190, 190, 207); border-image: none; background-color: rgb(238, 255, 238);">
<strong>Примечание.</strong> При записи обработчиков в файлы<br> - для версии модуля обновления будет выбрана максимальная сборка из всех обработчиков модуля.<br> - для версии корня конфигурации будет выбрана максимальная сборка из списка модулей обновления конфигурации.
</blockquote>

<p style="margin-left: 40px;"><b>Быстрые отборы</b> - динамически формируемая область быстрых отборов предназначена для отбора обработчиков по предопределенным критериям отбора.</p>
<p style="margin-left: 40px;">
</p><blockquote style="padding: 5px; border: 1px solid rgb(190, 190, 207); border-image: none; background-color: rgb(238, 255, 238);">
<strong>Примечание.</strong> Чтобы отключить текущий быстрый отбор необходимо установить быстрый отбор <b>Все</b>.
</blockquote>

<a name="70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea42915e5fa65e">
<h3 style="margin-left: 0px;">Контроль построения очереди выполнения обработчиков обновления</h3></a>
<p style="margin-left: 20px;">При контроле построения очереди выполнения проверяется:</p>
<ul style="margin-left: 40px;"><li>полнота заполнения данных и корректность указанных приоритетов выполнения</li>
<li>зацикленность очереди выполнения обработчиков</li>
<li>автоматическая установка приориетов выполнения обработчиков</li></ul><p style="margin-left: 20px;">
</p>
<blockquote style="padding: 5px; border: 1px solid rgb(190, 190, 207); border-image: none; background-color: rgb(238, 255, 238);">
<strong>Примечание.</strong> Перед записью в файлы репозитория все нарушения должны быть устранены.
</blockquote>
<p style="margin-left: 20px;">При автоматической установке приоритетов реализованы следующие правила:</p>
<ol><li>Вводится порядок обновления типов метаданных:</li>
</ol><ul><p>10 - Константа</p>
<p>20 - Справочник</p>
<p>30 - ПланВидовХарактеристик</p>
<p>40 - ПланСчетов</p>
<p>50 - ПланВидовРасчета</p>
<p>60 - ПланОбмена</p>
<p>70 - БизнесПроцесс</p>
<p>80 - Задача</p>
<p>90 - РегистрСведений (независимый)</p>
<p>100 - Документ</p>
<p>110 - ЖурналДокументов</p>
<p>120 - РегистрСведений (подчиненный регистратору)</p>
<p>130 - РегистрНакопления</p>
<p>140 - РегистрРасчета</p>
<p>150 - РегистрБухгалтерии</p>
<p>Порядок типов можно переопределить в процедуре <strong>ОбновлениеИнформационнойБазыПереопределяемый.ПриЗаполненииПриоритетовТиповМетаданных</strong> или для какого-то конкретного объекта метаданных задать свой порядок отличный от порядка его типа.</p>
</ul><li>
Каждому обработчику обновления присваивается порядок обновления, который равен минимальному порядку обновления из всех изменяемых им типов. Например если обработчик изменяет одновременно справочник и документ, то его порядок обновления будет равен порядку обновления справочника.</li>
<li>
Приоритеты устанавливаются по принципу:</li>
<ul><li>При конфликте чтения или записи двух обработчиков обновляющих разные типы метаданных первым выполнятеся тот, который изменяет данные с меньшим порядком обновления (сначала константы, справочники, план видов характеристик и т.д.)</li>
<li>При конфликте двух обработчиков обновляющих данные одного типа:</li>
</ul><ol><ol><ol><li>первым выполняется тот, который изменяет читаемые данные</li>
<li>в случае если оба обработчика изменяют друг другу читаемые данные, то порядок любой (предполагается, что обработчики изменяют независимые друг для друга наборы данных, в противном случае это зацикливание порядка выполнения, когда первый обработчик ждет второй, а второй ждет первый)</li>
<li>в случае повторной записи порядок выполнения любой (предполагается, что пишутся или разные наборы данных или разные реквизиты в одном и том же объекте, иначе обработчики должны быть объединены в один)</li></ol></ol></ol><a name="70a6370b13ca43baa611bed9691c46111905ad4e005056a5c4e811ea42918708b5f0">
<h3 style="margin-left: 0px;">Запись изменений описания обработчиков обновления</h3></a>
<p style="margin-left: 20px;">Для записи в файлы git-репозитория необходимо:</p>
<ul style="margin-left: 40px;"><li>указать каталог <b>SRC</b> проекта конфигурации выгруженного в формате EDT</li>
<li>в каталоге <b>.settings</b> проекта конфигурации выгруженного в формате EDT разместить файл настроек cut_tugs.yml. В этом файле в формате yaml перечислены модули обновления конфигурации для которых необходимо формировать процедуры <b>ПриДобавленииОбработчиковОбновления</b> (шаблон файла настроек можно сгенерировать соответствующей командой расположенной в подменю формы <b>Еще</b>).</li></ul><p style="margin-left: 20px;">Описание обработчиков обновления генерируются для модулей обновления указанных в файле настройки <b>cut_tag.yml</b>.<br>Изменения в файлы записываются в следующем порядке:</p>
<ul style="margin-left: 40px;"><li>сформированное описание обработчика записывается в модуль менеджера объекта обновления (рядом с процедурой обновления), в процедуру <b>ОписаниеОбработчиковОбновления</b></li>
<li>в файлы модуля обновления, в процедуру <b>ПриДобавленииОбработчиковОбновления</b> в алфавитном порядке записывается список вызовов процедур <b>ОписаниеОбработчиковОбновления</b></li></ul><p style="margin-left: 20px;">При этом среди всех обработчиков записываемых модулей выбирается обработчик с максимальной сборкой конфигурации и эта сборка записывается в версии модулей обновления и корень конфигурации.</p>
<p> </p></body></html>